package com.yfz.day14;

import java.util.HashMap;

/**
 * 2958 最长和为k的子数组
 */
class Solution {
    public int maxSubarrayLength(int[] nums, int k) {
       int result = 0 ;
       int start = 0;
        HashMap<Integer,Integer> map = new HashMap<>();
       for(int i =0 ;i<nums.length;i++){
           map.put(nums[i],map.getOrDefault(nums[i],0) + 1);
           while(map.get(nums[i])>k ){
               map.put(nums[start],map.get(nums[start]) - 1);
               start++;
           }
           result = Math.max(result,i - start +1);
       }
       return result;
    }
}